package com.lmx.common.constants;

/**
 * Common常量
 */
public interface CommonConstants {

	/**
	 * 字典数据
	 */
	public static enum DICTTYPE {
		HBEACON_HBOX {
			@Override
			public String label() {
				return "deviceType1";
			}
		}, // hbox
		HBEACON_SCANNER {
			@Override
			public String label() {
				return "deviceType2";
			}
		}, // scanner
		HBEACON_BUTTON {
			@Override
			public String label() {
				return "deviceType3";
			}
		}, // button
		HBEACON_BRACELET {
			@Override
			public String label() {
				return "deviceType4";
			}
		}, // bracelet
		DAERMA_BEDMAT {
			@Override
			public String label() {
				return "deviceType5";
			}
		}, // bedmat
		ETCOMM_CARD {
			@Override
			public String label() {
				return "deviceType6";
			}
		}, // etcomm card
		HEALTHEXAMTYPE_PRESS {
			@Override
			public String label() {
				return "healthExamType1";
			}
		}, // 血压
		HEALTHEXAMTYPE_OXYGEN {
			@Override
			public String label() {
				return "healthExamType2";
			}
		}, // 血氧
		HEALTHEXAMTYPE_RATE {
			@Override
			public String label() {
				return "healthExamType3";
			}
		}, // 心率
		HEALTHEXAMTYPE_BREATH {
			@Override
			public String label() {
				return "healthExamType4";
			}
		}, // 呼吸
		HEALTHEXAMTYPE_TEMP {
			@Override
			public String label() {
				return "healthExamType5";
			}
		}, // 体温
		HEALTHEXAMTYPE_WEIGHT {
			@Override
			public String label() {
				return "healthExamType6";
			}
		}, // 体重
		HEALTHEXAMTYPE_SUGAR {
			@Override
			public String label() {
				return "healthExamType8";
			}
		}, // 血糖
		HEALTHEXAMTYPE_HEARTELECT {
			@Override
			public String label() {
				return "healthExamType11";
			}
		}, // 心电
		HEALTHEXAMTYPE_URINE {
			@Override
			public String label() {
				return "healthExamType12";
			}
		}, // 尿液
		SERVICEVALUETYPE_ZZ {
			@Override
			public String label() {// 增值服务
				return "serviceValueTypeZZ";
			}
		},
		// 按键状态
		BUTTON_STATUS_1 {
			@Override
			public String label() {
				return "hbeaconWarningCalling";
			}
		},
		BUTTON_STATUS_2 {// 已复位
			@Override
			public String label() {
				return "hbeaconWarningCancelBySys";
			}
		},
		BUTTON_STATUS_3 {// 已处理
			@Override
			public String label() {
				return "hbeaconWarningCancelByHand";
			}
		},
		ACCOUNT_TYPE_1 {// 保证金账户
			@Override
			public String label() {
				return "accountType1";
			}
		},
		ACCOUNT_TYPE_2 {// 电子金额账户
			@Override
			public String label() {
				return "accountType2";
			}
		},
		FLOW_LEAVE_STATUS_1 {// 申请退住
			@Override
			public String label() {
				return "leaveStatus1";
			}
		},
		FLOW_LEAVE_STATUS_2 {// 费用结算中
			@Override
			public String label() {
				return "leaveStatus2";
			}
		},
		FLOW_LEAVE_STATUS_3 {// 完成退住
			@Override
			public String label() {
				return "leaveStatus3";
			}
		},
		FLOW_LEAVE_STATUS_4 {// 审核通过
			@Override
			public String label() {
				return "leaveStatus4";
			}
		},
		FLOW_LEAVE_STATUS_5 {// 作废
			@Override
			public String label() {
				return "leaveStatus5";
			}
		},
		FLOW_LEAVE_STATUS_6 {// 费用结算完成
			@Override
			public String label() {
				return "leaveStatus6";
			}
		},
		DEVICE_BIND_STATUS_1 {// 已绑定
			@Override
			public String label() {
				return "bindStatus1";
			}
		},
		DEVICE_BIND_STATUS_2 {// 空闲
			@Override
			public String label() {
				return "bindStatus2";
			}
		},
		DEVICE_STATUS_1 {// 空闲
			@Override
			public String label() {
				return "deviceStatus1";
			}
		},
		DEVICE_STATUS_2 {// 使用中
			@Override
			public String label() {
				return "deviceStatus2";
			}
		},
		DEVICE_STATUS_3 {// 未复位
			@Override
			public String label() {
				return "deviceStatus3";
			}
		},
		DEVICE_STATUS_4 {// 离线
			@Override
			public String label() {
				return "deviceStatus4";
			}
		},
		BILL_STATUS_0 {// 未提交
			@Override
			public String label() {
				return "billStatus0";
			}
		},
		BILL_STATUS_1 {// 已提交
			@Override
			public String label() {
				return "billStatus1";
			}
		},
		BILL_STATUS_2 {// 审核通过
			@Override
			public String label() {
				return "billStatus2";
			}
		},
		BILL_STATUS_3 {// 审核未通过
			@Override
			public String label() {
				return "billStatus3";
			}
		},
		BILL_TYPE_1 {// 周统计
			@Override
			public String label() {
				return "billType1";
			}
		},
		BILL_TYPE_2 {// 月统计
			@Override
			public String label() {
				return "billType2";
			}
		},
		BILL_TYPE_3 {// 季统计
			@Override
			public String label() {
				return "billType3";
			}
		},
		BILL_TYPE_4 {// 年统计
			@Override
			public String label() {
				return "billType4";
			}
		},
		BILL_TYPE_5 {// 日统计
			@Override
			public String label() {
				return "billType5";
			}
		},
		// 床位状态空闲
		BED_STATUS_1 {
			@Override
			public String label() {
				return "bedStatusIdle";
			}
		},
		BED_STATUS_2 {// 入住
			@Override
			public String label() {
				return "bedStatusCheckIn";
			}
		},
		BED_STATUS_3 {// 试住
			@Override
			public String label() {
				return "bedStatusTryIn";
			}
		},
		BED_STATUS_4 {// 预定
			@Override
			public String label() {
				return "bedStatusAppointment";
			}
		},
		// 租户状态
		TENANT_STATUS_1 {// 已发布
			@Override
			public String label() {
				return "tenantStatusReleased";
			}
		},
		TENANT_STATUS_2 {// 未发布
			@Override
			public String label() {
				return "tenantStatusUnRelease";
			}
		},
		TENANT_STATUS_3 {// 已下线
			@Override
			public String label() {
				return "tenantStatusDownLine";
			}
		},
		// 员工使用状态
		EMPLOYEE_STATUS_1 {// 可用
			@Override
			public String label() {
				return "employeeStatus1";
			}
		},
		EMPLOYEE_STATUS_2 {// 禁用
			@Override
			public String label() {
				return "employeeStatus2";
			}
		},
		// 老人用药添加方式
		ADD_DRUG_TYPE_IN {// 入库
			@Override
			public String label() {
				return "addDrugTypeIn";
			}
		},
		ADD_DRUG_TYPE_OUT {// 出库
			@Override
			public String label() {
				return "addDrugTypeOut";
			}
		},
		WORKDELIVERY_STATUS1 {// 未完成
			@Override
			public String label() {
				return "workDeliveryStatus1";
			}
		},
		WORKDELIVERY_STATUS2 {// 完成
			@Override
			public String label() {
				return "workDeliveryStatus2";
			}
		},
		CUSTOMER_STATUS_TRY {// 老人 试住
			@Override
			public String label() {
				return "customerStatusTry";
			}
		},
		CUSTOMER_STATUS_IN {// 老人 入住
			@Override
			public String label() {
				return "customerStatusIn";
			}
		},
		CUSTOMER_STATUS_OUT {// 老人 退住
			@Override
			public String label() {
				return "customerStatusOut";
			}
		},
		FOOD_PLAN_STATUS_WSX {// 老人 yongcan计划状态
			@Override
			public String label() {
				return "foodPlanStatusWSX";
			}
		},
		FOOD {// 老人 yongcan计划状态
			@Override
			public String label() {
				return "foodPlanStatusSX";
			}
		},
		FOOD_PLAN_CONFIRM_STATUS_WQR {// 老人 yongcan计划编辑状态
			@Override
			public String label() {
				return "foodPlanConfirmStatusWQR";
			}
		},
		FOOD_PLAN_CONFIRM_STATUS_QR {// 老人 yongcan计划编辑状态 确认
			@Override
			public String label() {
				return "foodPlanConfirmStatusQR";
			}
		},
		JUJIA_SERVICE_STATUS_1 {// 待分配
			@Override
			public String label() {
				return "jujiaServiceStatus1";
			}
		},
		JUJIA_SERVICE_STATUS_2 {// 已分配
			@Override
			public String label() {
				return "jujiaServiceStatus2";
			}
		},
		JUJIA_SERVICE_STATUS_3 {// 已上路
			@Override
			public String label() {
				return "jujiaServiceStatus3";
			}
		},
		JUJIA_SERVICE_STATUS_YWC {// 居家订单服务状态已完成
			@Override
			public String label() {
				return "jujiaServiceStatusYWC";
			}
		},
		PAY_TYPE_XX {// 线下支付
			@Override
			public String label() {
				return "payTypeXX";
			}
		},
		PAY_TYPE_ZX {// 在线支付
			@Override
			public String label() {
				return "payTypeZX";
			}
		},
		CHARGE_TYPE_Y {// 账单月统计
			@Override
			public String label() {
				return "chargeTypeY";
			}
		},
		CHARGE_TYPE_D {//  账单日统计
			@Override
			public String label() {
				return "chargeTypeD";
			}
		},
		CUSTOMER_LEAVING {// 老人请假中
			@Override
			public String label() {
				return "customerLeaving";
			}
		},
		DAY_BILL_STATUS_YJS {// 已结算
			@Override
			public String label() {
				return "dayBillStatusYJS";
			}
		},
		DAY_BILL_STATUS_WJS {// 未结算
			@Override
			public String label() {
				return "dayBillStatusWJS";
			}
		};
		public abstract String label();
	}

	public static enum TYPEGROUP {
		ACTIVITY_TYPE {
			@Override
			public String lable() {
				return "activityType";
			}
		},
		VIP_LEVEL {
			@Override
			public String lable() {
				return "vipLevel";
			}
		};
		public abstract String lable();
	}

	/**
	 * 消息数据
	 */
	public static enum MESSAGE {
		MESSAGECODE_HEALTHNOTICE {
			@Override
			public String label() {
				return "1101";
			}
		},
		MESSAGECODE_CALLINGNOTICE {
			@Override
			public String label() {
				return "1102";
			}
		},
		MESSAGECODE_LOCATIONNOTICE {
			@Override
			public String label() {
				return "1103";
			}
		},
		MESSAGECODE_VIDEONOTICE {
			@Override
			public String label() {
				return "1104";
			}
		},
		MESSAGETYPE_AUTH {
			@Override
			public String label() {
				return "1";
			}
		}, // 鉴权
		MESSAGETYPE_NOTICE {
			@Override
			public String label() {
				return "2";
			}
		};// 提醒
		public abstract String label();
	}

	/**
	 * 消息数据
	 */
	public static enum ERROR {
		EMPLOYEE_SAVE_INGROUP {
			@Override
			public String label() {
				return "4";
			}
		},
		EMPLOYEE_NOT_LEAVE {
			@Override
			public String label() {
				return "6";
			}
		},
		EMPLOYEE_SAVE_NOT_LEAVE {
			@Override
			public String label() {
				return "5";
			}
		};// 用户在护理组中
		public abstract String label();
	}

	public static enum DRUG_ERROR {
		IN_USE {
			@Override
			public String label() {
				return "0";
			}
		};
		public abstract String label();
	}

	public static enum ERROR_CODE {
		CARDCODE_ERROR {
			@Override
			public String label() {
				return "3";
			}
		},
		NAME_ERROR {
			@Override
			public String label() {
				return "4";
			}
		},
		PHONE_ERROR {
			@Override
			public String label() {
				return "5";
			}
		},
		CONTRACTNO_ERROR {
			@Override
			public String label() {
				return "7";
			}
		},
		NO_DELETE {
			@Override
			public String label() {
				return "8";
			}
		},
		BED_USED {
			@Override
			public String label() {
				return "9";
			}
		},
		TIME_ERROR {
			@Override
			public String label() {
				return "11";
			}
		},
		TYPECODE_ERROR {
			@Override
			public String label() {
				return "12";
			}
		},
		BIND_ERROR {
			@Override
			public String label() {
				return "13";
			}
		},
		ADD_ERROR {
			@Override
			public String label() {
				return "14";
			}
		},
		REPEAT_ERROR {
			@Override
			public String label() {
				return "15";
			}
		},
		REPEAT_SUBMIT_ERROR {
			@Override
			public String label() {
				return "99";
			}
		};
		public abstract String label();
	}

	public static enum DEVICE_OPERATE_CODE {
		BIND {
			@Override
			public String label() {
				return "bind";
			}
		},
		REMOVE_BIND {
			@Override
			public String label() {
				return "removeBind";
			}
		};
		public abstract String label();
	}

	/**
	 * 角色编码
	 *
	 * @author ytche
	 * @date 2017年5月22日
	 *
	 */
	public static enum ROLE_CODE {
		WECHAT("公众号角色", "wechat"), APP("app角色", "app"), ADMIN("管理员", "admin");
		private String code;
		private String name;

		private ROLE_CODE(String name, String code) {
			this.code = code;
			this.name = name;
		}

		public String getName() {
			return this.name;
		};

		public String getCode() {
			return this.code;
		};
	}

	/**
	 * 居家活动相关错误码
	 *
	 * @author ytche
	 * @date 2017年6月9日
	 *
	 */
	public enum ACTIVITY_ERROR_CODE {
		NOT_DELETE {
			@Override
			public String lable() {
				return "0";
			}
		},
		PLAN_EXIST {
			@Override
			public String lable() {
				return "1";
			}
		},
		INFO_REPEAT {
			@Override
			public String lable() {
				return "2";
			}
		};
		;
		public abstract String lable();
	}

	public enum SCHEME_ERROR_CODE {
		NOT_DELETE {
			@Override
			public String lable() {
				return "0";
			}
		},
		INFO_REPEAT {
			@Override
			public String lable() {
				return "1";
			}
		};
		public abstract String lable();
	}

	public enum LEAVA_ERROR_CODE {
		LEAVE_CLEARED {
			@Override
			public String lable() {
				return "0";
			}
		},
		CUSTOMER_IN_LEAVING {
			@Override
			public String lable() {
				return "1";
			}
		};
		public abstract String lable();
	}

	public enum ASSESSMENT_ERROR {
		ASSESSMENT_INFO_LACK {
			@Override
			public String lable() {
				return "1";
			}
		},
		CHANGE_ASSESSMENT_EXIST {
			@Override
			public String lable() {
				return "2";
			}
		};
		public abstract String lable();
	}

	public enum EMPLOYEE_LEAVE_ERROR {
		LEAVE_STARTED {
			@Override
			public String lable() {
				return "0";
			}
		},
		FLOW_PASSED {
			@Override
			public String lable() {
				return "1";
			}
		};
		public abstract String lable();
	}

	public enum INIT_CONSTANT_TYPE {
		JIGOU {
			@Override
			public String lable() {
				return "0";
			}
		},
		MOBILE {
			@Override
			public String lable() {
				return "1";
			}
		},
		PUBLIC {
			@Override
			public String lable() {
				return "2";
			}
		};
		public abstract String lable();
	}

	/**
	 * 按键呼叫类型
	 */
	public static enum BUTTON_CALLING_TYPE {
		OLD_CALLING {
			@Override
			public String label() {
				return "1";
			}
		},
		OLD_YIWAI {
			@Override
			public String label() {
				return "0";
			}
		},
		NORMAL {
			@Override
			public String label() {
				return "-1";
			}
		},
		OLD_CALLING_NOTE {
			@Override
			public String label() {
				return "老人主动按键呼叫";
			}
		},
		OLD_YIWAI_NOTE {
			@Override
			public String label() {
				return "老人摔倒按键自动呼叫";
			}
		},
		NORMAL_NOTE {
			@Override
			public String label() {
				return "按键呼叫";
			}
		};
		public abstract String label();
	}

	/**
	 * scanner状态
	 */
	public static enum SCANNER_STATUS {
		ONLINE {
			@Override
			public String label() {
				return "online";
			}
		},
		OFFLINE {
			@Override
			public String label() {
				return "offline";
			}
		};
		public abstract String label();
	}

	/**
	 * 床垫预警数据
	 */
	public static enum BEDMAT_WARNING_MESAGE {
		MESSAGE_1 {
			@Override
			public String label() {
				return "心率大于110";
			}
		},
		MESSAGE_2 {
			@Override
			public String label() {
				return "心率小于40";
			}
		},
		MESSAGE_3 {
			@Override
			public String label() {
				return "呼吸率大于30";
			}
		},
		MESSAGE_4 {
			@Override
			public String label() {
				return "呼吸率小于5";
			}
		},
		MESSAGE_5 {
			@Override
			public String label() {
				return "2 分钟内心率变化超过 60%";
			}
		},
		MESSAGE_6 {
			@Override
			public String label() {
				return "2 分钟内心率变化超过 50%";
			}
		},
		MESSAGE_7 {
			@Override
			public String label() {
				return "离床";
			}
		},
		MESSAGE_8 {
			@Override
			public String label() {
				return "回床";
			}
		},
		MESSAGE_9 {
			@Override
			public String label() {
				return "设备故障";
			}
		},
		MESSAGE_10 {
			@Override
			public String label() {
				return "信号过弱";
			}
		},
		MESSAGE_11 {
			@Override
			public String label() {
				return "wifi短线";
			}
		};
		public abstract String label();
	}

	/**
	 * 益体康数据类型
	 */
	public static enum ETCOMM_DATA_TYPE {
		TYPE_1 {// 脂肪
			@Override
			public String label() {
				return "FatDataV1";
			}
		},
		TYPE_2 {// 血压
			@Override
			public String label() {
				return "BloodPressureV1";
			}
		},
		TYPE_3 {// 血氧
			@Override
			public String label() {
				return "Spo2DataV1";
			}
		},
		TYPE_4 {// 血糖
			@Override
			public String label() {
				return "BGDataV1";
			}
		},
		TYPE_5 {// 体重
			@Override
			public String label() {
				return "WeightDataV1";
			}
		},
		TYPE_6 {// 心电图
			@Override
			public String label() {
				return "EcgPictureV1";
			}
		},
		TYPE_7 {// 尿液
			@Override
			public String label() {
				return "URDataV1";
			}
		},
		TYPE_8 {// 血脂
			@Override
			public String label() {
				return "BD_FATDataV1";
			}
		};
		public abstract String label();
	}

	/**
	 * 硬件类型
	 */
	public static enum DEVICE_TYPE {
		TYPE_1 {// 华米hbox
			@Override
			public String label() {
				return "deviceType1";
			}
		},
		TYPE_2 {// 华米扫描器
			@Override
			public String label() {
				return "deviceType2";
			}
		},
		TYPE_3 {// 华米按键
			@Override
			public String label() {
				return "deviceType3";
			}
		},
		TYPE_4 {// 华米手环
			@Override
			public String label() {
				return "deviceType4";
			}
		},
		TYPE_5 {// 大耳马床垫
			@Override
			public String label() {
				return "deviceType5";
			}
		},
		TYPE_6 {// 益体康卡
			@Override
			public String label() {
				return "deviceType6";
			}
		};
		public abstract String label();
	}

	public static enum APPRAISE_ERROE_CODE {
		PURLISHED {
			@Override
			public String lable() {
				return "0";
			}
		};
		public abstract String lable();
	}

	/**
	 * 权限类型
	 *
	 * @author ytche
	 * @date 2017年8月8日
	 *
	 */
	public static enum PERVILEGE_TYPE {
		TYPE_0 {
			@Override
			public Integer lable() {
				return 0;
			}
		};
		public abstract Integer lable();
	}

	public static enum DYNAMIC {
		OTHER {
			@Override
			public Long lable() {
				return 708L;
			}
		},
		VIDEO {
			@Override
			public Long lable() {
				return 705L;
			}
		},
		VOICE {
			@Override
			public Long lable() {
				return 706L;
			}
		},
		PICTURE {
			@Override
			public Long lable() {
				return 707L;
			}
		};
		public abstract Long lable();
	}

	public static enum LOCATION_ANALYSIS_TYPE {
		NURSING {
			@Override
			public Long lable() {
				return 712L;
			}
		},
		DRUG {
			@Override
			public Long lable() {
				return 713L;
			}
		};
		public abstract Long lable();
	}

	public static enum CUSTOMER_FOOD_RECORD_TYPE {
		WEEK {
			@Override
			public String lable() {
				return "0";
			}
		},
		DAY {
			@Override
			public String lable() {
				return "1";
			}
		},
		TIME {
			@Override
			public String lable() {
				return "2";
			}
		};
		public abstract String lable();
	}

	public static enum CUSTOMER_FOOD_ERROR {
		DINING_WRONG {
			@Override
			public String lable() {
				return "0";
			}
		};
		public abstract String lable();
	}

	public static enum GUIHUA_HEALTH_CODE {
		XUETANG {
			@Override
			public String lable() {
				return "Glucose";
			}
		},
		XUEYA {
			@Override
			public String lable() {
				return "BP";
			}
		},
		TIWEN {
			@Override
			public String lable() {
				return "event";
			}
		};
		public abstract String lable();
	}

	public static enum RESET_PASSWORD_ERROR {
		INFO_NULL {
			@Override
			public String lable() {
				return "0";
			}
		},
		NO_USER {
			@Override
			public String lable() {
				return "1";
			}
		},
		CHECK_FAIL {
			@Override
			public String lable() {
				return "2";
			}
		};
		public abstract String lable();
	}

	public static enum EVENT_TYPE {
		VISIT {
			@Override
			public Long lable() {
				return 718L;
			}
		},
		BAD {
			@Override
			public Long lable() {
				return 719L;
			}
		},
		LEAVEING {
			@Override
			public Long lable() {
				return 720L;
			}
		},
		LEAVE_COMPLETE {
			@Override
			public Long lable() {
				return 721L;
			}
		},
		OTHER {
			@Override
			public Long lable() {
				return 722L;
			}
		};
		public abstract Long lable();
	}

	public static enum NURISNG_SIGN_ERROR {
		EXE_EXIST {
			@Override
			public String lable() {
				return "1";
			}
		};
		public abstract String lable();
	}

	/**
	 * 删除状态 0否1是
	 */
	public static Short DEL_STATUS_YES_1 = 1;
	/**
	 * 删除状态 0否1是
	 */
	public static Short DEL_STATUS_NO_0 = 0;

	/**
	 * 默认状态 0否1是
	 */
	public static Integer DEFAULT_STATUS_YES_1 = 1;
	/**
	 * 默认状态 0否1是
	 */
	public static Integer DEFAULT_STATUS_NO_0 = 0;
	/**
	 * 运营人员的tenantId
	 */
	public static Long ADMIN_TENANT_ID = 111L;

	public static final String TYPE_OR_MONTH = "0";

	public static final String TECENT_CLOUD_SECRETID = "AKIDAC5nJNmXAk9MPLlnOJ6vcAct38KkCds4";
	public static final String TECENT_CLOUD_SECRETKEY = "JTSGSVP8gPMVaZZTCkR5kCYih7uaDl7J";

	public static final String SMS_TYPE_RESET = "reset";

	public static final String SEND_RESET_CODE = "sendResetCode";
	public static final String CHECK_CODE = "checkCode";
	public static final String RESET_PASSWORD = "resetPassword";

	public static final String ACTION_RESET_PASSWORD = "reset-password";
	public static final String CUSTOMER_SERVICE_ITEM_CODE_OTHER = "other";
}
